// 封装分类数据相关的业务代码
import { ref, onMounted } from "vue";
import { getCategoryAPI } from "@/apis/category";
import { useRoute } from "vue-router";
import { onBeforeRouteUpdate } from "vue-router";

export function useCategory() {
    // 获取分类数据
    const categoryData = ref({});
    // 调用route路由方法，得到其中的id
    const route = useRoute();
    const getCategory = async (id = route.params.id) => {
        // console.log('ioio');
        const res = await getCategoryAPI(id);
        console.log("二级分类列表", res);
        categoryData.value = res.data.result;
    };

    onMounted(() => {
        getCategory();
    });

    // 目标：期望再路由参数变化的时候， 可以把分类数据接口重新发送
    onBeforeRouteUpdate(to => {
        // console.log('路由变化了');
        // 存在问题：使用最新的路由参数请求最新的分类数据
        getCategory(to.params.id);
    })
    return {
        categoryData
    }
}